package com.wty.example.publish;


//对象发布指的是外部可以调用该对象
//对象逸出指的是对象未构建完成便被发布了


//安全发布对象的几种情况
//1.静态初始化函数中初始化一个对象的引用
//2.将对象的引用放在一个被锁保护的域中
//3.将对象的引用保存在voliate或者atomicReference中
//4.将对象的引用保存到某个正确构造对象的final类型域中


import com.wty.annotations.UnThreadSafe;

//单例模式 懒汉式
@UnThreadSafe
public class publishDemo1 {

    private publishDemo1() {

    }

    private static publishDemo1 instance = null;

    public static publishDemo1 getInstance() {
        if (instance == null) {
            instance = new publishDemo1();
        }
        return instance;
    }

}
